// function foo(m,n,){
//     console.log(m,n)
// }

// foo(20,30,)

// ES10
// flat()方法会按照一个可指定的深度地柜遍历数组，并将所有所有元素与遍历到的子数组
// 中的元素合并为一个新数组返回

// const nums = [10,20,[2,9],[[30,40],[10,45]],78,[55,88]]
// const newNums = nums.flat()
// const newNums2 = nums.flat(2)
// console.log(newNums)
// console.log(newNums2)

// flat flatMap()方法首先使用映射函数映射每个元素，然后将结果压缩成一个新的数组
// 1.注意 flatMap是先进行map操作，再做flat的操作
// 2.flatMap中的flat相当于深度为1

// const nums2 = [10,20,30]
// const newNums3 = nums2.flatMap(item=>{
//     return item *2
// })
// console.log(newNums3)

//应用场景
// const message = ["Hello World","hello lyh","my name is coderwhy"]
// const words = message.flatMap(item =>{
//     return item.split(" ")
// })
// console.log(words)

const obj={
    name:'scott',
    age:18,
    height:32
}

const entries = Object.entries(obj)
// console.log(entries)
// const newObj ={}
// for(const entry of entries){
//     newObj[entry[0]]=entry[1]
// }
// console.log(newObj)


// const newObj = Object.fromEntries(entries)
// console.log(newObj)

// 2.Object.fromENtries的应用场景
// const queryString = "name=why&age=1.88&height=1.88"
// const queryParams = new URLSearchParams(queryString)
// for(const param of queryParams){
//     console.log(param)
// }
// const paramObj = Object.fromEntries(queryParams)
// console.log(paramObj)

// ES11
// 在js中，我们不能正确的表示过大的数字
// 大于MAX_SAFE_INTEGER的数值，表示的可能是不正确的
// BigInt的使用
const maxInt = Number.MAX_SAFE_INTEGER //最大的数字
console.log(maxInt)
// ES11：BigInt
const bigInt = 9007199254740991000n
console.log(bigInt+10n)
const num  = 100
console.log(bigInt+BigInt(num))

// ES11 Nullish Coalescing Operator 空值合并运算

// const foo 




